Тази статия се нуждае от подобрение. Необходимо е: изглаждане на машинния превод, правопис и пунктуация; цитиране на източниците в текста. Ако желаете да помогнете на Уикипедия, използвайте опцията редактиране в горното меню над статията, за да нанесете нужните корекции. |
Scala | |
Парадигма | Мултипарадигмен, обектно ориентиран, структуриран, императивен, използващ, обобщено програмиране, рефлексивен език |
---|---|
Реализиране през | 2004 |
Автор | Мартин Одерски |
Софтуерен разработчик | Лаборатория за програмни методи of École Polytechnique Fédérale de Lausanne |
Последна стабилна версия | 2.11.8 / 8 март, 2016 |
Типизация на данните | Статична, строга, заключваща, структурна |
Имплементация | Scala |
Повлиян от | Eiffel, Erlang, Haskell, Java, Lisp, Pizza, Standard ML, OCaml, Scheme, Smalltalk, Oz |
Повлиява | Ceylon, Chapel, Fantom, F#, Kotlin, Lasso,Red, Swift |
Език на имплементация | Scala |
Платформа | JVM, LLVM,JavaScript |
Софтуерен лиценз | 3-clause BSD license |
Файлово разширение | .scala, .sc |
Уебсайт | www.scala-lang.org |
Scala at Wikibooks в Уикикниги Scala в Общомедия |
Scala (английско произношение: /ˈskɑːlɑː/) е език за обобщено програмиране. Scala има пълен потенциал за функционално програмиране и много силна статичен тип система. Много от проекторешенията на Scala са вдъхновени от недостатъците на Java. Те са мотив да бъде проектиран по-рационален, кратък и ясен език като Scala. Изходният код на Scala е правен опит да може да се компилира с байткода на Java, за да може кодът да върви Java virtual machine (JVM). Java библиотеките могат да бъдат използвани директно в Scala кода и обратното (езикова приложимост). Като Java, Scala е обектно ориентиран език, и използва синтаксис с къдрави скоби напомнящ на програмния език C. За разлика от Java, Scala има много черти на езици за нефункционално програмиране като Scheme, Standard ML и Haskell, включително обработване, тип подразбиране, непроменливост, lazy (нестриктна оценка), и съвпадение на моделите. Освен това има напреднал тип системна поддържайки алгебричен тип данни, променлив и непроменлив, висок ред тип (но не от висок ранг) и анонимен тип данни. Други характерни черти за Scala са, че не присъства в Java include operator overloading, изборни параметри, именувани параметри, необработени низове и проверени изключения. Името Scala is идва от Scalable (по който може да се катери човек) и language (език), означавайки, че е създаден с идеята да расте заедно с изискванията на своите потребители.